home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / wics.zip / HIERLB.H < prev    next >
C/C++ Source or Header  |  1993-03-03  |  4KB  |  95 lines

  1. //==============================================================================================
  2. //
  3. //    Windows Interface Construction Set
  4. //    Version 1.00
  5. //
  6. //    HIERLB.H - Hierarchial List Box Header File
  7. //    Copyright ⌐ 1993 by Microdyne Development Technologies.
  8. //    All rights reserved.
  9. //==============================================================================================
  10.  
  11. #ifndef _HIERLB_H
  12. #define _HIERLB_H
  13.  
  14. #include <owl.h>
  15. #include <listbox.h>
  16. #include <wics.h>
  17.  
  18. #pragma option -Vo-
  19. #if     defined(__BCOPT__) && !defined(_ALLOW_po)
  20. #pragma option -po-
  21. #endif
  22.  
  23. _CLASSDEF (THierarchialListBox)
  24.  
  25. class THierarchialListBox : public TListBox
  26. {
  27. private:
  28.     virtual const Pchar streamableName() const { return "THierarchialListBox"; }
  29.  
  30. protected:
  31.     virtual LPSTR GetClassName() { return "WICSHierList"; }
  32.  
  33.     THierarchialListBox(StreamableInit) : TListBox(streamableInit) {};
  34.  
  35. public:
  36.     THierarchialListBox (PTWindowsObject AParent, UINT AnId);
  37.     ~THierarchialListBox ();
  38.  
  39.     virtual int AddString(LPSTR AString, HANDLE hSubTree, int index);
  40.     virtual int AddString(LPSTR AString);
  41.     virtual int FindString(LPSTR AString, int SearchIndex);
  42.     virtual int FindString (LPSTR AString, HANDLE& hSubTree, int& index, BOOL fSubTableSearch);
  43.     virtual int FindExactString(LPSTR AString, int SearchIndex);
  44.     virtual int FindExactString(LPSTR AString, HANDLE& hSubTree, int&index, BOOL fSubTableSearch);
  45.     virtual int DeleteString (int index);
  46.     virtual int DeleteString (HANDLE hSubTree, int index);
  47.     virtual int InsertString(LPSTR AString, int Index);
  48.     virtual int InsertString(LPSTR AString, HANDLE hSubTree, int Index);
  49.     virtual void ClearList();
  50.     virtual int GetCount();
  51.     virtual int GetCount(HANDLE hSubList);
  52.     virtual HANDLE GetChildHandle (HANDLE hSubTree, int index);
  53.     virtual int GetString(LPSTR AString, int Index);
  54.     virtual int GetString(LPSTR AString, HANDLE hSubTree, int index);
  55.     virtual int GetStringLen(int Index);
  56.     virtual int GetStringLen(HANDLE hSubTree, int Index);
  57.     virtual WORD Transfer(Pvoid DataPtr, WORD TransferFlag);
  58.  
  59.     virtual void OpenSubTree (HANDLE hParent, int index);
  60.     virtual void CloseSubTree (HANDLE hParent, int index);
  61.  
  62.     // next four functions only for single-selection
  63.     // list boxes (and combo boxes).
  64.  
  65.     virtual int GetSelString(LPSTR AString, int MaxChars);
  66.     virtual int SetSelString(LPSTR AString, int SearchIndex);
  67.     virtual int SetSelString(LPSTR AString, HANDLE& hSubTree, int& index, BOOL fSubTableSearch);
  68.     virtual int GetSelIndex();
  69.     virtual int GetSelIndex(HANDLE& hSubList);
  70.     virtual int SetSelIndex(int Index);
  71.     virtual int SetSelIndex(HANDLE hSubList, int index);
  72.  
  73.     virtual int GetSelCount();
  74.  
  75.     // next four functions only for multiple-selection list boxes.
  76.  
  77.     virtual int GetSelStrings(LPSTR *Strings, int MaxCount, int MaxChars);
  78.     virtual int SetSelStrings(LPSTR *Prefixes, int NumSelections, BOOL ShouldSet);
  79.     virtual int GetSelIndexes(long far * Indexes, int MaxCount);
  80.     virtual int SetSelIndexes(long far * Indexes, int NumSelections, BOOL ShouldSet);
  81. };
  82.  
  83. inline Ripstream operator >> ( Ripstream is, RTHierarchialListBox cl  ) { return is >> (RTStreamable )cl; }
  84. inline Ripstream operator >> ( Ripstream is, RPTHierarchialListBox cl ) { return is >> (RPvoid)cl; }
  85. inline Ropstream operator << ( Ropstream os, RTHierarchialListBox cl  ) { return os << (RTStreamable )cl; }
  86. inline Ropstream operator << ( Ropstream os, PTHierarchialListBox cl  ) { return os << (PTStreamable )cl; }
  87.  
  88. #pragma option -Vo.
  89. #if     defined(__BCOPT__) && !defined(_ALLOW_po)
  90. #pragma option -po.
  91. #endif
  92.  
  93. #endif
  94.  
  95.